package com.huicoo.forestmanager.ui.patrol.forestCampTask.contract;

import com.huicoo.forestmanager.base.BasePresenter;
import com.huicoo.forestmanager.network.bean.patrol.AttachmentEntity;
import com.huicoo.forestmanager.network.bean.patrol.EventTypeBean;
import com.huicoo.forestmanager.network.bean.patrol.PatrolEventEntity;
import com.huicoo.forestmanager.network.bean.patrol.RecordDetailsIssuesListBean;
import com.huicoo.forestmanager.network.bean.patrol.ReportEventBean;
import com.huicoo.forestmanager.network.bean.patrol.UploadFileBean;

import java.util.HashMap;
import java.util.List;

import retrofit2.Call;

/**
 * --------- 日期 ------- 维护人 ------------ 变更内容 --------
 * 2019/4/10		    Administrator
 * 事件上报
 */
public interface ForestCampTaskReportEventContract {
    interface View {
        void getEventTypeSuccess(List<EventTypeBean.EventTypeData> Data);

        void uploadFileSuccess(UploadFileBean.UploadFileData Data, int attachmentType, int during);

        void reportEventSuccess();

        void getMyReportEventSuccess(List<PatrolEventEntity> Data);

        void fail(String msg);
    }

    interface Presenter extends BasePresenter {
        void getEventType(HashMap<String, String> params);

        void uploadFile(HashMap<String, String> params, AttachmentEntity attachment);

        void reportEvent(HashMap<String, String> params);

        void getMyReportEvent(HashMap<String, String> params);
    }

    interface Model {
        Call<EventTypeBean> getEventType(HashMap<String, String> params);

        Call<UploadFileBean> uploadFile(HashMap<String, String> params, AttachmentEntity attachment);

        Call<ReportEventBean> reportEvent(HashMap<String, String> params);

        Call<RecordDetailsIssuesListBean> getMyReportEvent(HashMap<String, String> params);
    }
}
